/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *																 *
 *	r2GL - r2 Graphs Library									 *
 *																 *
 *	File:		Node.cpp										 *
 *	Authors:	Rafael Kikuchi ( shinjikik@gmail.com )			 *
 *				Rafael Romeiro ( rafaelromeiro@gmail.com )		 *
 *	Date:		08/09/2008										 *
 *	License:	CC-GNU LGPL										 *
 *				http://creativecommons.org/licenses/LGPL/2.1/	 *
 *	Version:	0.1.0											 *
 *																 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#include "Node.h"

namespace r2GL
{

Node::Node (void)
{
}

Node::Node (int initialID)
{
	id = initialID;
	degree = 0;
	outDegree = 0;
}

Node::~Node (void)
{
}

void Node::SetID (int newID)
{
	id = newID;
}

void Node::SetDegree (int newDegree)
{
	degree = newDegree;
}

void Node::SetMark (int newMark)
{
	mark = newMark;
}

void Node::SetMark2 (int newMark2)
{
	mark2 = newMark2;
}

void Node::SetParent (int newParent)
{
	parent = newParent;
}

void Node::SetDistance (int newDistance)
{
	distance = newDistance;
}

void Node::SetOutDegree (int newOutDegree)
{
	outDegree = newOutDegree;
}

int Node::GetDegree (void)
{
	return degree;
}

int Node::GetMark (void)
{
	return mark;
}

int Node::GetMark2 (void)
{
	return mark2;
}

int Node::GetParent (void)
{
	return parent;
}

int Node::GetDistance (void)
{
	return distance;
}

int Node::GetOutDegree (void)
{
	return outDegree;
}

int Node::GetID (void)
{
	return id;
}

bool Node::operator< (const Node &node)
{
	return (degree < node.degree);
}

} //namespace
